The present invention relates to an improvement in the technique by which a plurality of agents process the information distributed over a network, or more in particular to an improved information processing system and method and an improved information processing program recording medium operable in stable fashion even in an unstable environment of the network line or the like.
The tendency of the day is toward an information processing system constructing a basis of computers distributed on a network as a result of the progress of down-sizing and the improved network environment due to the extension of the Internet.
A network connected to a wide area network such as the Internet is called an open network. This open network is accompanied by a more and more open environment. With the advance of an open environment, the various data and functions existing on the network come to have a close relationship with an external wide area network. The resulting interaction with the external wide area network increases the chance of affecting or changing the various data and functions existing on the network.
In this open network environment, requests sent as messages and commands to the software or the software construction may undergo a change in a form not expected in advance.
A request to the software, for example, may change to the one taking the acquisition of a specific file from an external wide area network as granted. Also, a file for realizing a specific function may be moved to a server having a sufficient security against external intrusion.
Demand is growing for a flexible software construction which is adaptive to such a change without any labor of the user or downtime of the system in operation. Such a flexible software construction can provide the user with a more flexible and stable information service in an open environment.
An agent-oriented technique has come to be closely watched recently as a technique for realizing such a flexible software construction. The agent-oriented technique is for constructing a system using software units called agents, which autonomously act in response to the change of their environment. Many attempts have been made on agents capable of meeting an environmental change flexibly by autonomous operation in an open network.
For example, Jpn. Pat. Appln. KOKAI Publication No. 7-182174 discloses a method of executing a remote programming by which agents are transferred between nodes in a distributed computer system. FIG. 10 shows an example configuration of a system for executing a remote programming. In this case, an agent is realized as a process on a node, and the process, i.e. the operation of the agent is assigned beforehand by a program called xe2x80x9cplanxe2x80x9d.
The plan is described in a series of instructions describing the operation of the agent process. A unit of the plan constitutes xe2x80x9cinstructionxe2x80x9d. Also, the node on which an agent originally exists is called xe2x80x9clocal nodexe2x80x9d, the node to which the agent is moved is called xe2x80x9cremote nodexe2x80x9d. Both are shown in FIG. 10 by reference numerals 800L and 800R, respectively.
The processing for moving an agent to another node is designated by a special type of instruction (hereinafter referred to as xe2x80x9cgo-operationxe2x80x9d) described in the plan. A specific application of the go-operation will be described. Assume, for example, that an instruction to search by the local node 800L for a specific file is described in the plan and that the search has failed. As a resulting operation, the go-operation for moving the agent to the remote node 800R and the instruction to search by the remote node 800R for the same file again after move are described in the plan.
In this case, the plan is first executed at the local node 800L. The plan to be executed is stored in advance in the agent information storage section 801L. The internal state for agent activity, i.e. a work area is stored with the plan in the agent information storage section 801L as agent information.
As the agent begins to act at the local node 800L, the interpretation/execution section 802L interprets and executes the instructions in the plan sequentially while at the same time updating the internal state of the agent. Upon failure to discover the file while executing the plan at the local node 800L, the interpretation/execution section 802L interprets and executes the instruction in the plan and the go-operation. In the interpretation and execution of the go-operation, the agent management section 804L transfers the agent in the way described below.
Specifically, the agent management section 804L first communicates with the agent management section 804R on the remote node 800R through the network 800N. In this communication, the contents of the plan and the internal state of the agent as of the interpretation and execution of the go-operation are transferred to the remote node 800R. These information, which are transferred to the remote node 800R, are stored in the agent information storage section. 801R by the agent management section 804R. The agent management section 804R then activates the interpretation/execution section 802R thereby to continue the interpretation and execution of the instruction. As a result, the operation of the agent similar to that performed in the local node 800L from which it came continues to be performed in the remote node 800R.
As described above, according to Jpn. Pat. Appln. KOKAI Publication No. 7-182174, a flexible action is possible against any change of the situation in which the file to be discovered is moved from a local node to a remote node. In this prior art, even between nodes having different operating systems or different hardware, an agent can be moved between the nodes and the plan can be continued as long as the grammar used for the plan and the format of expressing the internal state of the agent are unified.
Etzioni, et al. discloses an information processing method (reference: Oren Etzioni and Daniel Weld xe2x80x9cA Softbot-Based Interface to the Internetxe2x80x9d (Communications of ACM), in which the ordinary network functions such as ftp and telnet are used and dynamically selected while being flexibly backtracked based on the information collected during the operation. The backtracking is defined as the use of various functions on trial and error basis. This information processing method permits a flexible operation against the state of the system at each time point. This flexible operation is realized by the technique called the planning.
Also, Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090 disclose a multiagent cooperation system and a method thereof. In the multiagent cooperation system, a plurality of agents each have the function of exchanging information with other agents thereby to realize the cooperation between the agents for flexible and efficient information processing.
This prior art, however, has the following problem.
In the method of executing a remote programming disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-182174, the plan defining the operation of an agent is required to be described beforehand in its entirety by the user using instructions. Especially, in the go-operation for moving an agent, the destination node for the agent is required to be designated by an identifier for the network. The destination node for the agent is the one to which the agent is moved and the identifier is expressed by a node name or the like.
In an open network, however, the information on each node constituting the network such as the node name undergoes a constant change and it is difficult to keep monitoring such a change from time to time.
For this change to be met, a troublesome operation is required not only to monitor the change of the destination node name in advance but also to change the instruction according to the change. The technique disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-182174, therefore, has its own limit in meeting the change of the open network flexibly.
The information processing method proposed by Etzioni, et al. on the other hand, utilizes the normal network functions such as ftp and telnet as a section for using the network. The mere use of these communication protocols, however, still makes it difficult to access the information at a remote node smoothly. For ftp and telnet, for example, an inter-node communication route is required to be stably maintained both physically and logically from the start to end of a series of data exchange. In the case where a route through which information is being accessed through the network is temporarily cut off, the access becomes impossible or the authentication or file access must be resumed from the beginning.
Further, the multiagent techniques disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090 have the following problems. The first problem is a low line reliability. Specifically, the feature of an open network is that it is configured of various types of machines (computers) and connection lines. With the recent extension of what is called the mobile computing, portable terminals have come to be used widely. The portable terminal is a small computer freely portable by the user and often is connected to a network through a radio channel such as a portable telephone or a PHS terminal. The portable terminal is used at the risk of communication failure by the battery being consumed up during communication. These limitations due to the power supply and the radio connection make the portable terminal a node having a line low in reliability for connection with the network.
The conventional multiagent techniques disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090, however, presuppose the capability of frequent communication between agents using a highly reliable communication line, and therefore cannot fully exhibit the performance thereof with the above-mentioned line of low reliability. Thus, an information processing technique has been sought for which can stably operate even on a line low in reliability.
The second problem point of the above-mentioned multiagent techniques is the environmental stability. Specifically, the conventional multiagent techniques are configured on condition that the environment such as the specifics of knowledge remain stable and are not unduly changed at least as long as a series of cooperation steps is proceeding. The conventional multiagent techniques, therefore, cannot exhibit a full function in an environment such as an open network in which an unexpected change is liable to occur frequently. As a result, an information processing technique is required which operates in stable fashion against any changes of the situation.
Further, in the conventional multiagent techniques, the communication between any agents is processed equally regardless of the contents thereof. In view of the difference in the order of priority depending on the agents engaged in communication and the contents of the communication, however, communication means are desirably provided in which inter-agent communications are differently handled according to the order of priority in order to flexibly control the cooperation between agents.
The present invention has been developed in order to meet the above-mentioned situation, and an object thereof is to provide an information processing technique which assures stable operation even against an unstable environment or line by making available a variety of the manners in which an agent operates.
Another object of the invention is to provide an information processing technique capable of flexible cooperation between agents by enlarging the communication means between the agents.
One aspect of the present invention, there is provided an information processing apparatus comprising: means for inputting a request; means for generating an agent corresponding to the request inputted from the input means; planning means for generating a plan which satisfies the request; means for determining a reliability of a communication line in the case where an uncertain knowledge is used for generation of the plan by the planning means; selecting means for selecting one of a processing of a movement of the agent and a processing of a contract net protocol in accordance with the reliability; uncertain knowledge processing means for processing the uncertain knowledge on the basis of the processing selected by the selecting means; and executing means for executing the plan after the uncertain knowledge processing means processes the uncertain knowledge.
Another aspect of the present invention, there is provided an agent processing system for processing agents, comprising: a network; and a plurality of nodes interconnected via the network, the plurality of nodes being each capable of becoming a remote node or a local node with respect to other nodes, the remote node and/or the local node comprising: means for inputting a request; means for generating an agent corresponding to the request inputted from the input means; planning means for generating a plan which satisfies the request; means for determining a reliability of a communication line in the case where an uncertain knowledge is used for generation of the plan by the planning means; selecting means for selecting one of a processing of a movement of the agent and a processing of a contract net protocol in accordance with the reliability; uncertain knowledge processing means for processing the uncertain knowledge on the basis of the processing selected by the selecting means; and executing means for executing the plan after the uncertain knowledge processing means processes the uncertain knowledge.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.